<?php
$width=120;
$height=40;
$img=imagecreatetruecolor($width, $height);//imagecreatetruecolor函数建一个真彩色图像
$string='';//定义变量保存字体，这个一定不能省，不然回报警告
$arr=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z',
    'A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
    '1','2','3','4','5','6','7','8','9');//构造验证码字符集
//生成彩色像素    
$colorBg=imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));//背景 imagecolorallocate函数为一幅图像分配颜色
//填充函数，xy确定坐标，color颜色执行区域填充颜色
imagefill($img, 0, 0, $colorBg);
/*	可省略
 * $colorBorder=imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));//边框
 *imagerectangle($img,0,0,$width-1,$height-1,$colorBorder);
 */
//该循环,循环画背景干扰的点
for($m=0;$m<=100;$m++){
    $pointcolor=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//点的颜色
    imagesetpixel($img,rand(0,$width-1),rand(0,$height-1),$pointcolor);// 水平地画一串像素点
}
//该循环,循环画干扰直线
for ($i=0;$i<=4;$i++){
    $linecolor=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//线的颜色
    imageline($img,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$linecolor);//画一条线段
}
@session_start();//兼容部署到其他未开启session的环境
//$string=$_SESSION['check_code'];//读出session中的验证码
for($i=0;$i<4;$i++){//生成四位验证码
    $string.=$arr[rand(0,count($arr)-1)];
}

$check_code=strtolower($string);//生成的正确验证按转成小写
$_SESSION['check_code']=$check_code;
//echo "<script>sessionStorage.setItem(\"check_code\", \"".$check_code."\");</script>";

$colorString=imagecolorallocate($img,rand(10,100),rand(10,100),rand(10,100));//文本
//2种插入字符串字体的方式
$font=realpath("fonts/Bold.ttf");
for($i=0;$i<4;$i++){
imagettftext($img,25,rand(-30,30),25*$i+10,rand(22,35),$colorString,$font,$string[$i]);
}
//imagestring($img,15,rand(0,$width-36),rand(0,$height-15),$string,$colorString);


//生成的验证码存入session
//向浏览器输出图片头信息
header('Content-type:image/jpeg');
//输出图片到浏览器
imagejpeg($img);
//保存图片到本地
//	$file_dir = '/upload/verification_code/';
//	if(!is_dir(PIGCMS_PATH . $file_dir)){
//   	mkdir(PIGCMS_PATH . $file_dir);
//	}
//	$url = $file_dir . '/' . time() . '.png';
//	imagepng($img, PIGCMS_PATH . $url);//保存
//销毁，释放资源
imagedestroy($img);
?>

<!-- <div id="ma">
        <a href="index.html"><img src="yanzheng.php" title="点击更换"/></a>
    </div> -->